【C++】TinyXML读取xml文件用法详解

您所在的位置:网站首页 c 解析xml文件 【C++】TinyXML读取xml文件用法详解

【C++】TinyXML读取xml文件用法详解

2023-12-16 08:44| 来源: 网络整理| 查看: 265

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档

文章目录 前言XML文件理解常用的XML类方法使用总结

前言

TinyXML下载地址:https://sourceforge.net/projects/tinyxml/ 官方文档:TinyXML

TinyXML是个解析库,它由两个头文件(.h文件)和四个CPP文件(.cpp文件)构成,用的时候,只要将(tinyxml.h、tinystr.h、tinystr.cpp、tinyxml.cpp、tinyxmlerror.cpp、tinyxmlparser.cpp)导入工程就可以用它的东西了。如果需要,可以将它做成自己的DLL来调用。

XML文件理解

举一个官方文档《TinyXML Tutorial》中的例子

Welcome to MyApp Thank you for using MyApp

XML是树形结构,有层数之分,其结点分为不同的类别,而TinyXML中针对不同类别定义了不同的类,下面简单介绍一下:(粗体是常用的)

,TiXmlDeclaration,声明类 ,TiXmlElement,元素类,该结点是根节点,后续的每个都是一个结点,TiXmlComment,注释类Welcome to MyApp,TiXmlText,文本类,获取元素中的文本,TiXmlAttribute,属性类,name,x,y,w,h都是Window元素的属性 常用的XML类方法使用

接下来我们以一个目标检测的标签文件为例,来读取其中的boundingbox坐标信息。 XML文件:

JPEGImages 409.bmp E:\JPEGImages\409.bmp Unknown 847 419 3 0 bad_part Unspecified 0 0 512 153 693 325 bad_part Unspecified 0 0 251 251 321 313

文件中有两个boundingbox

获取bndbox元素下的最大最小坐标:

#include //打开xml文件需要加载的头文件 #include "tinystr.h" #include "tinyxml.h" #include #include using namespace std; int main() { //创建xml文件对象,并读取xml TiXmlDocument doc; doc.LoadFile("409.xml"); //获取xml中根元素,并输出根节点的值,为 TiXmlElement *root = doc.FirstChildElement(); cout Value() FirstChildElement(); cout Value() FirstChildElement(); xmin1 = atoi(xmin->GetText()); //NextSiblingElement()获得同一层下一个节点 TiXmlElement *ymin = xmin->NextSiblingElement(); ymin1 = atoi(ymin->GetText()); TiXmlElement *xmax = ymin->NextSiblingElement(); xmax1 = atoi(xmax->GetText()); TiXmlElement *ymax = xmax->NextSiblingElement(); ymax1 = atoi(ymax->GetText()); cout


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3